package com.xaicode.auth.entity;

import com.xaicode.auth.base.BaseEntity;
import com.xaicode.auth.constant.EnableEnum;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Objects;

/**
 * 部门信息
 * 
 * @date 2024/12/6
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("sys_dept")
public class SysDept extends BaseEntity {

    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * 部门名称
     */
    private String deptName;

    /**
     * 是否启用
     *
     * @see EnableEnum#ENABLE
     * @see EnableEnum#DISABLE
     */
    private Integer status;

    /**
     * 显示顺序
     */
    private Integer sortNum;

    /**
     * 父部门id，不可为空，顶级部门时设置为 0
     */
    private Integer parentId;

    /**
     * 祖级列表，不可为空，顶级部门时设置为 0
     */
    private String parentIds;

    /**
     * 备注
     */
    private String remark;

    // ----

    /**
     * 补全默认字段
     */
    public void fillDefault() {
        if (Objects.isNull(parentId)) {
            parentId = 0;
        }
        if (Objects.isNull(parentIds)) {
            parentIds = "0";
        }
    }

}
